package info.motteke.mixivoice4j.http;



final class MixiURL {

    private static final String HOME_URL = "http://mixi.jp/home.pl";

    /** ログイン用のURLです。 */
    private static final String LOGIN_PAGE_URL = "https://mixi.jp/login.pl";

    /** ログアウト用のURLです。 */
    private static final String LOGOUT_PAGE_URL = "http://mixi.jp/logout.pl";

    /** 最新のつぶやきを取得するURLです。 */
    private static final String RECENT_VOICE_PAGE_URL = "http://mixi.jp/recent_voice.pl";

    public static String home() {
        return HOME_URL;
    }

    /** ログイン用URLを返します。 */
    public static String login() {
        return LOGIN_PAGE_URL;
    }

    /** ログアウト用URLを返します。 */
    public static String logout() {
        return LOGOUT_PAGE_URL;
    }

    /** ボイス取得用URLを返します。 */
    public static String recentVoice(int page, long id){
        if(page <= 0){
            throw new IllegalArgumentException("pageは0にできません。");
        }
        if(page == 1){
            return RECENT_VOICE_PAGE_URL;
        }else{
            return RECENT_VOICE_PAGE_URL + String.format("?page=%d&owner_id=%d", page, id);
        }
    }

    public static String commentList(){
        return "http://mixi.jp/system/rpc.json";
    }

    public static String favoriteList(String postKey){
        return String.format("http://mixi.jp/system/rpc.json?auth_type=postkey&secret=%s", postKey);
    }

    public static String post() {
        return "http://mixi.jp/add_voice.pl";
    }

    public static String createComment(String postKey) {
        return String.format("http://mixi.jp/system/rpc.json?auth_type=postkey&secret=%s", postKey);
    }

    public static String deleteEntry() {
        return "http://mixi.jp/system/rpc.json";
    }

    public static String deleteComment() {
        return "http://mixi.jp/system/rpc.json";
    }

    public static String deleteFavorite(String postKey) {
        return String.format("http://mixi.jp/system/rpc.json?auth_type=postkey&secret=%s", postKey);
    }

    private MixiURL() {
        throw new AssertionError();
    }

    public static String getPhotoThumbnail() {
        return "http://mixi.jp/system/rpc.json";
    }
}
